Использование шрифтов в отчётах без их установки в систему

27.04.2022

Использование шрифтов в отчётах без их установки в систему

К современным электронным отчетам предъявляются довольно высокие требования - они должны не просто выводить нужную информацию, но иметь определенное оформление, формат данных, графическое наполнение. Современный отчет - сложный документ с элементами дизайна. Бурное развитие генераторов отчетов позволило повысить требования к документам.

Определенный шрифт в отчете может быть копоративным требованием или элементом дизайна. Так или иначе, многие пользователи генератора отчетов хотели бы иметь возможность использовать произвольные шрифты. И FastReport.NET позволяет это делать! Речь идет о TrueTypeFonts.

Теперь вы не обязаны устанавливать шрифты в систему, для использования их в отчете. Вы можете добавлять их в отчет перед построением. Экспорт отчета в формат PDF позволяет включать произвольные шрифты в документ. Давайте рассмотрим пример, как добавлять ttf шрифты в отчет и как экспортировать отчет в формат PDF включая эти шрифты.

//Создаем отчет
Report report = new Report();
//Получаем файлы нужных шрифтов из папки
var fonts = Directory.GetFiles("Fonts");
//Каждый шрифт добавляем в конфигурацию генератора отчетов
 foreach (var font in fonts)
 {
 Config.PrivateFontCollection.AddFontFile(font);
}
//Загружаем шаблон отчета, который содержит текстовые объекты с выставленными шрифтами из папки Fonts
report.Load(@"test.frx");
//Подготавливаем отчет
report.Prepare();
//Создаем объект экспорта в PDF и настраиваем включение шрифтов в документ
var export = new PDFExport
 {
 EmbeddingFonts = true
 };
//Производим экспорт отчета
report.Export(export, File.Create(@"test.pdf"));

Что же касается самого шаблона отчета. Для того чтобы использовать нестандартные шрифты при создании в дизайнере, всё же потребуется их установить в систему (двойной клик по шрифту ttf). Если вы откроете шаблон отчета в системе, где нет шрифтов использованных в этом шаблоне, то увидите, что шрифты заменены на стандартные. Но если открыть шаблон в текстовом редакторе, то вы увидите истинные настройки шрифтов:

<TextObject Name="Text8" Left="359.1" Width="179.55" Height="18.9" 
Text="Roboto-Black.ttf" Font="Roboto Black, 10pt"/>

То есть, имея шаблон отчета с шрифтами, которые не установлены в систему, вы не можете редактировать его без потери настроек шрифтов, но можете построить его и экспортировать при условии, что эти шрифты будут добавлены в конфигурацию FastReport.NET.

Допустим у нас есть шаблон отчета, созданный в системе с установленными шрифтами. В приведенном выше коде мы добавляем шрифты в конфигурацию:

Шрифты для добавления в конфигурацию

Давайте перед экспортом в PDF отобразим отчет. Добавим строку “report.Show();”. Так выглядят шрифты в отчете:

Шрифты в готовом отчёте

Так выглядят шрифты в PDF документе:

Отображение шрифтов в PDF документе

Таким образом, если у вас нет необходимости разрабатывать отчеты с нестандартными шрифтами, а только их отображать или экспортировать, то не нужно устанавливать эти шрифты в систему. Это удобно, когда вы распространяете свои отчеты с кастомными шрифтами.

2 сентября 2024

Обзор облачного решения для создания и управления отчетами

МоиОтчеты Облако — это мощное облачное решение для создания и управления отчетами, обеспечивающее широкий спектр возможностей, от создания документов в различных форматах до интеграции с корпоративными системами.
12 августа 2024

Как собрать и установить плагин Postgres в FastReport .NET

В этой статье описывается подключение к базе посредством плагина FastReport .NET для дизайнера отчетов из Visual Studio через NuGet-сервер.
8 августа 2024

Как установить FastReport .NET и его компоненты в Windows

Пошаговая инструкция по онлайн и ручной установке через регистрационный код FastReport .NET и его компонентов в Windows.